package main

import (
	"tcp_server/src/common_util"
	"tcp_server/src/rpc_server"
	"tcp_server/src/serivces"
)

func main() {
	// 创建 RPC 服务器实例
	rpcServer := rpc_server.NewRPCServer()

	// 创建服务实例
	loginService := serivces.NewLoginService()
	tokenAuthService := serivces.NewTokenAuthService()
	userMessageService := serivces.NewUserMessageService()

	// 注册服务
	rpcServer.RegisterService("LoginService", loginService)
	rpcServer.RegisterService("TokenAuthService", tokenAuthService)
	rpcServer.RegisterService("UserMessageService", userMessageService)

	// 注册方法（通过服务实例注册）
	rpcServer.RegisterMethod(common_util.LoginMethod, loginService.Login)
	rpcServer.RegisterMethod(common_util.TokenAuthenticationMethod, tokenAuthService.TokenAuthentication)
	rpcServer.RegisterMethod(common_util.UpdateUserMessageMethod, userMessageService.UpdateUserMessageMethod)
	rpcServer.RegisterMethod(common_util.GetUserMessageMethod, userMessageService.GetUserMessageMethod)

	// 启动 RPC 服务器
	if err := rpcServer.StartServer(":8081"); err != nil {
		common_util.ErrorLogger.Printf("RPC 服务端启动出现异常：%v", err)
	}
}
